diff --git a/drivers/clk/renesas/clk-rcar-gen3.c b/drivers/clk/renesas/clk-rcar-gen3.c
index 94715bb..3611bdb 100644
--- a/drivers/clk/renesas/clk-rcar-gen3.c
+++ b/drivers/clk/renesas/clk-rcar-gen3.c
@@ -13,12 +13,15 @@
 #include <common.h>
 #include <clk-uclass.h>
 #include <dm.h>
+#include <dm/device-internal.h>
+#include <dm/lists.h>
 #include <errno.h>
 #include <log.h>
 #include <wait_bit.h>
 #include <asm/global_data.h>
 #include <asm/io.h>
 #include <linux/bitops.h>
+#include <reset-uclass.h>
 
 #include <dt-bindings/clock/renesas-cpg-mssr.h>
 
@@ -389,7 +392,7 @@
 	.of_xlate	= gen3_clk_of_xlate,
 };
 
-int gen3_clk_probe(struct udevice *dev)
+static int gen3_clk_probe(struct udevice *dev)
 {
 	struct gen3_clk_priv *priv = dev_get_priv(dev);
 	struct cpg_mssr_info *info =
@@ -447,9 +450,84 @@
 	return 0;
 }
 
-int gen3_clk_remove(struct udevice *dev)
+static int gen3_clk_remove(struct udevice *dev)
 {
 	struct gen3_clk_priv *priv = dev_get_priv(dev);
 
 	return renesas_clk_remove(priv->base, priv->info);
 }
+
+U_BOOT_DRIVER(clk_gen3) = {
+	.name		= "clk_gen3",
+	.id		= UCLASS_CLK,
+	.priv_auto	= sizeof(struct gen3_clk_priv),
+	.ops		= &gen3_clk_ops,
+	.probe		= gen3_clk_probe,
+	.remove		= gen3_clk_remove,
+};
+
+static int gen3_reset_assert(struct reset_ctl *reset_ctl)
+{
+	struct udevice *cdev = (struct udevice *)dev_get_driver_data(reset_ctl->dev);
+	struct gen3_clk_priv *priv = dev_get_priv(cdev);
+	unsigned int reg = reset_ctl->id / 32;
+	unsigned int bit = reset_ctl->id % 32;
+	u32 bitmask = BIT(bit);
+
+	writel(bitmask, priv->base + priv->info->reset_regs[reg]);
+
+	return 0;
+}
+
+static int gen3_reset_deassert(struct reset_ctl *reset_ctl)
+{
+	struct udevice *cdev = (struct udevice *)dev_get_driver_data(reset_ctl->dev);
+	struct gen3_clk_priv *priv = dev_get_priv(cdev);
+	unsigned int reg = reset_ctl->id / 32;
+	unsigned int bit = reset_ctl->id % 32;
+	u32 bitmask = BIT(bit);
+
+	writel(bitmask, priv->base + priv->info->reset_clear_regs[reg]);
+
+	return 0;
+}
+
+static const struct reset_ops rst_gen3_ops = {
+	.rst_assert = gen3_reset_assert,
+	.rst_deassert = gen3_reset_deassert,
+};
+
+U_BOOT_DRIVER(rst_gen3) = {
+	.name = "rst_gen3",
+	.id = UCLASS_RESET,
+	.ops = &rst_gen3_ops,
+};
+
+int gen3_cpg_bind(struct udevice *parent)
+{
+	struct cpg_mssr_info *info =
+		(struct cpg_mssr_info *)dev_get_driver_data(parent);
+	struct udevice *cdev, *rdev;
+	struct driver *drv;
+	int ret;
+
+	drv = lists_driver_lookup_name("clk_gen3");
+	if (!drv)
+		return -ENOENT;
+
+	ret = device_bind_with_driver_data(parent, drv, "clk_gen3", (ulong)info,
+					   dev_ofnode(parent), &cdev);
+	if (ret)
+		return ret;
+
+	drv = lists_driver_lookup_name("rst_gen3");
+	if (!drv)
+		return -ENOENT;
+
+	ret = device_bind_with_driver_data(parent, drv, "rst_gen3", (ulong)cdev,
+					   dev_ofnode(parent), &rdev);
+	if (ret)
+		device_unbind(cdev);
+
+	return ret;
+}
diff --git a/drivers/clk/renesas/r8a774a1-cpg-mssr.c b/drivers/clk/renesas/r8a774a1-cpg-mssr.c
index 445c58b..1f76d6b 100644
--- a/drivers/clk/renesas/r8a774a1-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a774a1-cpg-mssr.c
@@ -331,7 +331,7 @@
 	.get_pll_config		= r8a774a1_get_pll_config,
 };
 
-static const struct udevice_id r8a774a1_clk_ids[] = {
+static const struct udevice_id r8a774a1_cpg_ids[] = {
 	{
 		.compatible	= "renesas,r8a774a1-cpg-mssr",
 		.data		= (ulong)&r8a774a1_cpg_mssr_info,
@@ -339,12 +339,9 @@
 	{ }
 };
 
-U_BOOT_DRIVER(clk_r8a774a1) = {
-	.name		= "clk_r8a774a1",
-	.id		= UCLASS_CLK,
-	.of_match	= r8a774a1_clk_ids,
-	.priv_auto	= sizeof(struct gen3_clk_priv),
-	.ops		= &gen3_clk_ops,
-	.probe		= gen3_clk_probe,
-	.remove		= gen3_clk_remove,
+U_BOOT_DRIVER(cpg_r8a774a1) = {
+	.name		= "cpg_r8a774a1",
+	.id		= UCLASS_NOP,
+	.of_match	= r8a774a1_cpg_ids,
+	.bind		= gen3_cpg_bind,
 };
diff --git a/drivers/clk/renesas/r8a774b1-cpg-mssr.c b/drivers/clk/renesas/r8a774b1-cpg-mssr.c
index a09f11d..b5927c7 100644
--- a/drivers/clk/renesas/r8a774b1-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a774b1-cpg-mssr.c
@@ -329,7 +329,7 @@
 	.get_pll_config		= r8a774b1_get_pll_config,
 };
 
-static const struct udevice_id r8a774b1_clk_ids[] = {
+static const struct udevice_id r8a774b1_cpg_ids[] = {
 	{
 		.compatible	= "renesas,r8a774b1-cpg-mssr",
 		.data		= (ulong)&r8a774b1_cpg_mssr_info,
@@ -337,12 +337,9 @@
 	{ }
 };
 
-U_BOOT_DRIVER(clk_r8a774b1) = {
-	.name		= "clk_r8a774b1",
-	.id		= UCLASS_CLK,
-	.of_match	= r8a774b1_clk_ids,
-	.priv_auto	= sizeof(struct gen3_clk_priv),
-	.ops		= &gen3_clk_ops,
-	.probe		= gen3_clk_probe,
-	.remove		= gen3_clk_remove,
+U_BOOT_DRIVER(cpg_r8a774b1) = {
+	.name		= "cpg_r8a774b1",
+	.id		= UCLASS_NOP,
+	.of_match	= r8a774b1_cpg_ids,
+	.bind		= gen3_cpg_bind,
 };
diff --git a/drivers/clk/renesas/r8a774c0-cpg-mssr.c b/drivers/clk/renesas/r8a774c0-cpg-mssr.c
index f2dce5d..802a9c0 100644
--- a/drivers/clk/renesas/r8a774c0-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a774c0-cpg-mssr.c
@@ -300,7 +300,7 @@
 	.get_pll_config		= r8a774c0_get_pll_config,
 };
 
-static const struct udevice_id r8a774c0_clk_ids[] = {
+static const struct udevice_id r8a774c0_cpg_ids[] = {
 	{
 		.compatible	= "renesas,r8a774c0-cpg-mssr",
 		.data		= (ulong)&r8a774c0_cpg_mssr_info
@@ -308,12 +308,9 @@
 	{ }
 };
 
-U_BOOT_DRIVER(clk_r8a774c0) = {
-	.name		= "clk_r8a774c0",
-	.id		= UCLASS_CLK,
-	.of_match	= r8a774c0_clk_ids,
-	.priv_auto	= sizeof(struct gen3_clk_priv),
-	.ops		= &gen3_clk_ops,
-	.probe		= gen3_clk_probe,
-	.remove		= gen3_clk_remove,
+U_BOOT_DRIVER(cpg_r8a774c0) = {
+	.name		= "cpg_r8a774c0",
+	.id		= UCLASS_NOP,
+	.of_match	= r8a774c0_cpg_ids,
+	.bind		= gen3_cpg_bind,
 };
diff --git a/drivers/clk/renesas/r8a774e1-cpg-mssr.c b/drivers/clk/renesas/r8a774e1-cpg-mssr.c
index ab44dbd..617fa76 100644
--- a/drivers/clk/renesas/r8a774e1-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a774e1-cpg-mssr.c
@@ -343,7 +343,7 @@
 	.get_pll_config		= r8a774e1_get_pll_config,
 };
 
-static const struct udevice_id r8a774e1_clk_ids[] = {
+static const struct udevice_id r8a774e1_cpg_ids[] = {
 	{
 		.compatible	= "renesas,r8a774e1-cpg-mssr",
 		.data		= (ulong)&r8a774e1_cpg_mssr_info
@@ -351,12 +351,9 @@
 	{ }
 };
 
-U_BOOT_DRIVER(clk_r8a774e1) = {
-	.name		= "clk_r8a774e1",
-	.id		= UCLASS_CLK,
-	.of_match	= r8a774e1_clk_ids,
-	.priv_auto	= sizeof(struct gen3_clk_priv),
-	.ops		= &gen3_clk_ops,
-	.probe		= gen3_clk_probe,
-	.remove		= gen3_clk_remove,
+U_BOOT_DRIVER(cpg_r8a774e1) = {
+	.name		= "cpg_r8a774e1",
+	.id		= UCLASS_NOP,
+	.of_match	= r8a774e1_cpg_ids,
+	.bind		= gen3_cpg_bind,
 };
diff --git a/drivers/clk/renesas/r8a7795-cpg-mssr.c b/drivers/clk/renesas/r8a7795-cpg-mssr.c
index 31cd24e..005f6a9 100644
--- a/drivers/clk/renesas/r8a7795-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a7795-cpg-mssr.c
@@ -380,7 +380,7 @@
 	.get_pll_config		= r8a7795_get_pll_config,
 };
 
-static const struct udevice_id r8a7795_clk_ids[] = {
+static const struct udevice_id r8a7795_cpg_ids[] = {
 	{
 		.compatible	= "renesas,r8a7795-cpg-mssr",
 		.data		= (ulong)&r8a7795_cpg_mssr_info
@@ -388,12 +388,9 @@
 	{ }
 };
 
-U_BOOT_DRIVER(clk_r8a7795) = {
-	.name		= "clk_r8a7795",
-	.id		= UCLASS_CLK,
-	.of_match	= r8a7795_clk_ids,
-	.priv_auto	= sizeof(struct gen3_clk_priv),
-	.ops		= &gen3_clk_ops,
-	.probe		= gen3_clk_probe,
-	.remove		= gen3_clk_remove,
+U_BOOT_DRIVER(cpg_r8a7795) = {
+	.name		= "cpg_r8a7795",
+	.id		= UCLASS_NOP,
+	.of_match	= r8a7795_cpg_ids,
+	.bind		= gen3_cpg_bind,
 };
diff --git a/drivers/clk/renesas/r8a7796-cpg-mssr.c b/drivers/clk/renesas/r8a7796-cpg-mssr.c
index a3fee15..27cf62e 100644
--- a/drivers/clk/renesas/r8a7796-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a7796-cpg-mssr.c
@@ -370,7 +370,7 @@
 	.get_pll_config		= r8a7796_get_pll_config,
 };
 
-static const struct udevice_id r8a7796_clk_ids[] = {
+static const struct udevice_id r8a7796_cpg_ids[] = {
 	{
 		.compatible	= "renesas,r8a7796-cpg-mssr",
 		.data		= (ulong)&r8a7796_cpg_mssr_info,
@@ -382,12 +382,9 @@
 	{ }
 };
 
-U_BOOT_DRIVER(clk_r8a7796) = {
-	.name		= "clk_r8a7796",
-	.id		= UCLASS_CLK,
-	.of_match	= r8a7796_clk_ids,
-	.priv_auto	= sizeof(struct gen3_clk_priv),
-	.ops		= &gen3_clk_ops,
-	.probe		= gen3_clk_probe,
-	.remove		= gen3_clk_remove,
+U_BOOT_DRIVER(cpg_r8a7796) = {
+	.name		= "cpg_r8a7796",
+	.id		= UCLASS_NOP,
+	.of_match	= r8a7796_cpg_ids,
+	.bind		= gen3_cpg_bind,
 };
diff --git a/drivers/clk/renesas/r8a77965-cpg-mssr.c b/drivers/clk/renesas/r8a77965-cpg-mssr.c
index cd3bda9..58e557a 100644
--- a/drivers/clk/renesas/r8a77965-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a77965-cpg-mssr.c
@@ -358,7 +358,7 @@
 	.get_pll_config		= r8a77965_get_pll_config,
 };
 
-static const struct udevice_id r8a77965_clk_ids[] = {
+static const struct udevice_id r8a77965_cpg_ids[] = {
 	{
 		.compatible	= "renesas,r8a77965-cpg-mssr",
 		.data		= (ulong)&r8a77965_cpg_mssr_info,
@@ -366,12 +366,9 @@
 	{ }
 };
 
-U_BOOT_DRIVER(clk_r8a77965) = {
-	.name		= "clk_r8a77965",
-	.id		= UCLASS_CLK,
-	.of_match	= r8a77965_clk_ids,
-	.priv_auto	= sizeof(struct gen3_clk_priv),
-	.ops		= &gen3_clk_ops,
-	.probe		= gen3_clk_probe,
-	.remove		= gen3_clk_remove,
+U_BOOT_DRIVER(cpg_r8a77965) = {
+	.name		= "cpg_r8a77965",
+	.id		= UCLASS_NOP,
+	.of_match	= r8a77965_cpg_ids,
+	.bind		= gen3_cpg_bind,
 };
diff --git a/drivers/clk/renesas/r8a77970-cpg-mssr.c b/drivers/clk/renesas/r8a77970-cpg-mssr.c
index a85bed6..4d72ec1 100644
--- a/drivers/clk/renesas/r8a77970-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a77970-cpg-mssr.c
@@ -219,7 +219,7 @@
 	.get_pll_config		= r8a77970_get_pll_config,
 };
 
-static const struct udevice_id r8a77970_clk_ids[] = {
+static const struct udevice_id r8a77970_cpg_ids[] = {
 	{
 		.compatible	= "renesas,r8a77970-cpg-mssr",
 		.data		= (ulong)&r8a77970_cpg_mssr_info
@@ -227,12 +227,9 @@
 	{ }
 };
 
-U_BOOT_DRIVER(clk_r8a77970) = {
-	.name		= "clk_r8a77970",
-	.id		= UCLASS_CLK,
-	.of_match	= r8a77970_clk_ids,
-	.priv_auto	= sizeof(struct gen3_clk_priv),
-	.ops		= &gen3_clk_ops,
-	.probe		= gen3_clk_probe,
-	.remove		= gen3_clk_remove,
+U_BOOT_DRIVER(cpg_r8a77970) = {
+	.name		= "cpg_r8a77970",
+	.id		= UCLASS_NOP,
+	.of_match	= r8a77970_cpg_ids,
+	.bind		= gen3_cpg_bind,
 };
diff --git a/drivers/clk/renesas/r8a77980-cpg-mssr.c b/drivers/clk/renesas/r8a77980-cpg-mssr.c
index 1f29e77..f29727d 100644
--- a/drivers/clk/renesas/r8a77980-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a77980-cpg-mssr.c
@@ -239,7 +239,7 @@
 	.get_pll_config		= r8a77980_get_pll_config,
 };
 
-static const struct udevice_id r8a77980_clk_ids[] = {
+static const struct udevice_id r8a77980_cpg_ids[] = {
 	{
 		.compatible	= "renesas,r8a77980-cpg-mssr",
 		.data		= (ulong)&r8a77980_cpg_mssr_info
@@ -247,12 +247,9 @@
 	{ }
 };
 
-U_BOOT_DRIVER(clk_r8a77980) = {
-	.name		= "clk_r8a77980",
-	.id		= UCLASS_CLK,
-	.of_match	= r8a77980_clk_ids,
-	.priv_auto	= sizeof(struct gen3_clk_priv),
-	.ops		= &gen3_clk_ops,
-	.probe		= gen3_clk_probe,
-	.remove		= gen3_clk_remove,
+U_BOOT_DRIVER(cpg_r8a77980) = {
+	.name		= "cpg_r8a77980",
+	.id		= UCLASS_NOP,
+	.of_match	= r8a77980_cpg_ids,
+	.bind		= gen3_cpg_bind,
 };
diff --git a/drivers/clk/renesas/r8a77990-cpg-mssr.c b/drivers/clk/renesas/r8a77990-cpg-mssr.c
index 4d9b78e..1864af3 100644
--- a/drivers/clk/renesas/r8a77990-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a77990-cpg-mssr.c
@@ -314,7 +314,7 @@
 	.get_pll_config		= r8a77990_get_pll_config,
 };
 
-static const struct udevice_id r8a77990_clk_ids[] = {
+static const struct udevice_id r8a77990_cpg_ids[] = {
 	{
 		.compatible	= "renesas,r8a77990-cpg-mssr",
 		.data		= (ulong)&r8a77990_cpg_mssr_info
@@ -322,12 +322,9 @@
 	{ }
 };
 
-U_BOOT_DRIVER(clk_r8a77990) = {
-	.name		= "clk_r8a77990",
-	.id		= UCLASS_CLK,
-	.of_match	= r8a77990_clk_ids,
-	.priv_auto	= sizeof(struct gen3_clk_priv),
-	.ops		= &gen3_clk_ops,
-	.probe		= gen3_clk_probe,
-	.remove		= gen3_clk_remove,
+U_BOOT_DRIVER(cpg_r8a77990) = {
+	.name		= "cpg_r8a77990",
+	.id		= UCLASS_NOP,
+	.of_match	= r8a77990_cpg_ids,
+	.bind		= gen3_cpg_bind,
 };
diff --git a/drivers/clk/renesas/r8a77995-cpg-mssr.c b/drivers/clk/renesas/r8a77995-cpg-mssr.c
index ee4061f..03ae863 100644
--- a/drivers/clk/renesas/r8a77995-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a77995-cpg-mssr.c
@@ -250,7 +250,7 @@
 	.get_pll_config		= r8a77995_get_pll_config,
 };
 
-static const struct udevice_id r8a77995_clk_ids[] = {
+static const struct udevice_id r8a77995_cpg_ids[] = {
 	{
 		.compatible	= "renesas,r8a77995-cpg-mssr",
 		.data		= (ulong)&r8a77995_cpg_mssr_info
@@ -258,12 +258,9 @@
 	{ }
 };
 
-U_BOOT_DRIVER(clk_r8a77995) = {
-	.name		= "clk_r8a77995",
-	.id		= UCLASS_CLK,
-	.of_match	= r8a77995_clk_ids,
-	.priv_auto	= sizeof(struct gen3_clk_priv),
-	.ops		= &gen3_clk_ops,
-	.probe		= gen3_clk_probe,
-	.remove		= gen3_clk_remove,
+U_BOOT_DRIVER(cpg_r8a77995) = {
+	.name		= "cpg_r8a77995",
+	.id		= UCLASS_NOP,
+	.of_match	= r8a77995_cpg_ids,
+	.bind		= gen3_cpg_bind,
 };
diff --git a/drivers/clk/renesas/r8a779a0-cpg-mssr.c b/drivers/clk/renesas/r8a779a0-cpg-mssr.c
index 0c28477..a9c941b 100644
--- a/drivers/clk/renesas/r8a779a0-cpg-mssr.c
+++ b/drivers/clk/renesas/r8a779a0-cpg-mssr.c
@@ -301,7 +301,7 @@
 	.reg_layout		= CLK_REG_LAYOUT_RCAR_V3U,
 };
 
-static const struct udevice_id r8a779a0_clk_ids[] = {
+static const struct udevice_id r8a779a0_cpg_ids[] = {
 	{
 		.compatible	= "renesas,r8a779a0-cpg-mssr",
 		.data		= (ulong)&r8a779a0_cpg_mssr_info
@@ -309,12 +309,9 @@
 	{ }
 };
 
-U_BOOT_DRIVER(clk_r8a779a0) = {
-	.name		= "clk_r8a779a0",
-	.id		= UCLASS_CLK,
-	.of_match	= r8a779a0_clk_ids,
-	.priv_auto	= sizeof(struct gen3_clk_priv),
-	.ops		= &gen3_clk_ops,
-	.probe		= gen3_clk_probe,
-	.remove		= gen3_clk_remove,
+U_BOOT_DRIVER(cpg_r8a779a0) = {
+	.name		= "cpg_r8a779a0",
+	.id		= UCLASS_NOP,
+	.of_match	= r8a779a0_cpg_ids,
+	.bind		= gen3_cpg_bind,
 };
diff --git a/drivers/clk/renesas/rcar-gen3-cpg.h b/drivers/clk/renesas/rcar-gen3-cpg.h
index 85bfc72..a7074e2 100644
--- a/drivers/clk/renesas/rcar-gen3-cpg.h
+++ b/drivers/clk/renesas/rcar-gen3-cpg.h
@@ -126,8 +126,7 @@
 	const struct rcar_gen3_cpg_pll_config *cpg_pll_config;
 };
 
-int gen3_clk_probe(struct udevice *dev);
-int gen3_clk_remove(struct udevice *dev);
+int gen3_cpg_bind(struct udevice *parent);
 
 extern const struct clk_ops gen3_clk_ops;
 
